/**
 ajax请求函数模块
 返回值: promise对象(异步返回的数据是: response.data)
 */
import axios from 'axios';

const base_url = "http://localhost:82";
export default function ajax (url, data={}, type='GET') {

    return new Promise(function (resolve, reject) {
        // 执行异步ajax请求
        let promise
        if (type === 'GET') {
            // 准备url query参数数据
            let dataStr = '' //数据拼接字符串
            Object.keys(data).forEach(key => {
                if (data[key] != '' && data[key] !== undefined || data[key] == 0) {
                    dataStr += key + '=' + data[key] + '&';
                }
            })
            if (dataStr !== '') {
                dataStr = dataStr.substring(0, dataStr.lastIndexOf('&'));
                url = url + '?' + dataStr;
            }
            // 发送get请求
            promise = axios.get(`${base_url}${url}`);

        } else {
            // 发送post请求
            promise = axios.request({
                url: `${base_url}${url}`,
                data: data,
                method: type
            })

            // promise = axios.post(`${base_url}${url}`, data);
        }
        promise.then(function (response) {
            // 成功了调用resolve()
            //console.log(response);
            if (response.data) {
                resolve(response.data);
            } else {
                console.warn(response.data.msg);
                resolve(undefined);
            }
        }).catch(function (error) {
            //失败了调用reject()
            reject(error);
        })
    })
}
